//Note:running.c --A useful program for runners
//Author:乾哥
//Date:2022-04-23
const int S_PER_M = 60;//1分钟的秒数
const int S_PER_H = 3600;//1小时的分钟数
const double M_PER_K = 0.62137;//1公里的英里数
#include <stdio.h>
int main(void)
{
    double distk,distm;//跑过的距离（分别以公里和英里为单位）
    double rate;//平均速度
    int min,sec;//跑步用时
    int time;//跑步用时
    double mtime;//跑1英里需要的时间,以秒为单位
    int mmin,msec;//跑1英里需要的时间，以分钟和秒为单位

    printf("This program converts your time for metric race\n");
    printf("to a time for running a mile and to your average\n"); 
    printf("speed  in miles per hour.\n"); 
    printf("Please enter,in kilometers,the distance run.\n");
    scanf("%lf",&distk);
    printf("Next enter the time in minutes and seconds.\n"); 
    printf("Begin by entering the minutes.\n"); 
    scanf("%d",&min);
    printf("Now enter the seconds.\n"); 
    scanf("%d",&sec);

    time = S_PER_M*min+sec;//把时间转换成秒
    distm=M_PER_K*distk;//把公里转换成英里
    rate=distm/time*S_PER_H;//英里/秒× 秒/小时 = 英里/小时
    mtime=(double)time/distm;//时间/距离 = 跑1英里所用的时间
    mmin=(int)mtime/S_PER_M;//求出分钟数
    msec=(int)mtime%S_PER_M;//求出剩余的秒数

    printf("You ran %1.2f km (%1.2f miles) in %d min,%d sec.\n",distk,distm,min,sec); 
    printf("That pace corresponds to running a mile in %d min, ",mmin); 
    printf("%d sec.\nYour average speed was %1.2f mph.\n",msec,rate); 
    
    return 0;
}

